export interface UserProps { // 用户属性
    isLogin: boolean; // 是否登录 登陆了全局导航栏就一直显示当前用户
    nickName?: string;
    _id?: string;
    column?: string;
    email?: string;
    description?: string;
    avatar?: ImageProps;
}

export interface ImageProps { // 图片属性
    _id?: string;
    url?: string;
    fitUrl?: string;
    createdAt?: string;
}
export interface ColumnProps { // 专栏属性
    _id: string;
    title: string;
    avatar?: ImageProps;
    description: string;
}

// export interface PostProps { // 发表属性
//     _id?: string;
//     title: string;
//     excerpt?: string;
//     content?: string;
//     image?: ImageProps | string;
//     column: string;
//     author?: string | UserProps;
//     createdAt?: string;
//     isHTML?: boolean;
// }

// export interface RuleProps { // 规则属性 比如下面的required，发布文章的时候没有内容，就会有require的类型，message为文章标题不为空
//     type: 'required' | 'email' | 'custom';
//     message: string;
//     validator?: () => boolean;
// }

// export type MessageType = 'success' | 'error' | 'default' // 信息属性，比如提交文章发表文章成功了后的消息

// export interface ResponseType<P = {}> {
//     code: number;
//     msg: string;
//     data: P;
// }

// export interface GlobalErrorProps {
//     status: boolean;
//     message?: string;
// }

// interface ListProps<P> {
//     [id: string]: P;
// }
// export interface LoadedPostProps {
//     columnId?: string;
//     currentPage?: number;
//     total?: number;
// }

// export interface GlobalDataProps {
//     token: string;
//     error: GlobalErrorProps;
//     loading: boolean;
//     columns: {
//         data: ListProps<ColumnProps>;
//         currentPage: number;
//         total: number;
//     };
//     posts: {
//         data: ListProps<PostProps>;
//         loadedColumns: ListProps<LoadedPostProps>;
//     };
//     user: UserProps;
// }
